The development of network equipment, e.g., switches and routers, has typically focused primarily on achieving high performance for relatively limited forms of packet processing. However, as networks have taken on increasingly sophisticated functionality (e.g., data loss protection, application acceleration, intrusion detection), and as major ISPs compete in offering new services (e.g., video, mobility support services), there is interest in network equipment that is programmable and extensible. In the absence of such extensibility, network providers have typically incorporated new functionality by deploying special-purpose network “appliances” or middleboxes. However, as the cost of deploying, powering, and managing this assortment of boxes grows, the vision of a consolidated solution in the form of an extensible packet processing “router” has grown more attractive.
In existing networking equipment, high performance and programmability are often competing, and possibly mutually exclusive, goals. On the one hand, high-end routers, because they rely on specialized and closed hardware and software, are difficult to extend, program, or otherwise experiment with. In order for a hardware router to avoid becoming a bottleneck, the hardware router must switch at speeds of M*R, where M is the number of router ports and R is the line speed on the router ports (e.g., 1, 10, 40 Gbps, or greater). To do so, dedicated, special purpose hardware is required that does not lend itself to scalability or programmability. On the other hand, “software routers” perform packet processing in software running on general-purpose platforms and are easily programmable, but have so far been suitable only for low packet rate environments and for a limited number of router ports. A single server software router using existing server technology, although it may be programmable, is unable to achieve hardware router speeds.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art. Accordingly, it is intended that the claimed subject matter be viewed broadly, and be defined only as set forth in the accompanying claims.